Stand-alone electronic cash registers including payment card readers and receipt printers have been used for years in stores, retail outlets and service outlets to facilitate the completion of cash, cheque, credit card or debit card transactions for the purchase of goods and/or services. With the advent of sophisticated and inexpensive computing equipment, input devices and secure communication networks, point-of-sale (POS) stations have become an increasingly popular alternative.
POS stations typically include a host device and a plurality of interchangeable peripherals connected to the host device. The host device and peripherals are easily integrated allowing the configuration of POS stations to be modified to meet changing needs. This has been another factor leading to their widespread acceptance. The host device is commonly in the form of a personal computer. The peripherals often include a keyboard, a display screen, a cash drawer, a printing device, a payment card reader and a barcode reader. In some cases, a touch-sensitive display screen is used instead of separate keyboard and display screen peripherals.
As is well known, the host device communicates with the peripherals and executes software to allow product and/or service transactions to be completed. When payment is effected using a debit or credit card, the host device establishes a connection to the appropriate financial institution over an information network so that approval for the transaction may be obtained. Upon completion of any transaction, the host device creates and sends a print job to the printing device causing the printing device to generate a transaction receipt and a possibly signing receipt, if payment is made using a credit card.
During creation of the print job, the host device creates a character string including the data bytes representing the characters to be printed and transmits the string to the printing device in a data stream. Depending on the nature of the characters to be printed, each character code in the data stream may be represented by a single data byte if standard (i.e. Latin) characters are to be printed, or as a data byte pair, if larger or complex (i.e. multilingual) characters are to be printed. The host device also sends not-printable command codes to the printing device in a command string to control printer operation.
The printing device stores one or more font files relating to different character sets. When a data stream is received by the printing device, the printing device uses the font file corresponding to the characters to be printed. Glyph data in the selected font file is extracted as the character codes are received allowing the characters to be printed.
Representing multilingual characters with character codes presents challenges due to the complexity and size of a significant number of the multilingual characters. As a result, different techniques for representing multilingual characters have been considered. For example, U.S. Pat. No. 5,835,100 to Matsufusa discloses a method and system for displaying characters composed of multiple juxtaposed images designed to mitigate the problem of slower display speeds when displaying kana or kanji characters sent to a display adapter. Such characters are typically sent in graphics form because of their non-standard size. Multilingual characters are divided into horizontal halves and stored. The image codes corresponding to the horizontal halves of the multilingual characters are written to a display buffer in adjacent locations in order to form the whole multilingual character for display.
U.S. Pat. No. 5,251,293 to Ishii et al. discloses a character display apparatus that provides Chinese characters in a text mode to a screen in order to increase the display speed and in such a way so as to ensure compatibility with world-wide standards. The display apparatus contains a judgement portion for determining when a desired character is designated by one or two character codes. Reading of the character is controlled based on the result of the judgement portion, which is dependent on the data defining the character itself. A detecting portion judges whether a retrieved character code represents a full-width character or a half-width character. When a character is full-width, an address-generating portion generates a two-byte address, based on the character code, pointing to the first and second portions of the full-width character. If the character code represents a half-width character, the address-generating portion generates a one-byte address pointing to the half-width character.
U.S. Pat. No. 5,468,077 to Motokado discloses a method and apparatus for combining multiple primitive patterns, to form characters as well as a method of blending characters in two different type faces by interpolation or combination, so as so create new type faces without having to design them from scratch.
U.S. Pat. No. 5,689,723 to Lim et al. discloses a method for allowing both a single-byte character set font and a double-byte character set font to be used in a double-byte character set code page. Documents are formatted so that single-byte and double-byte content is kept in separate areas of the documents. This enables a viewer program to distinguish easily between the content and select the appropriate display.
Although the above references disclose methods of representing large multilingual characters, improved methods of managing the printing of characters are desired. It is therefore an object of the present invention to provide a novel method of managing the printing of characters and a printing device employing the same.